
/**
 * 格式化时间
 * @param {*} dateObj
 * @param {*} FMT
 */
export function formatDate (dateObj, FMT) {
  var fmt = FMT || 'yyyy-MM-dd'
  var o = {
    'M+': dateObj.getMonth() + 1, // 月份
    'd+': dateObj.getDate(), // 日
    'h+': dateObj.getHours(), // 小时
    'm+': dateObj.getMinutes(), // 分
    's+': dateObj.getSeconds(), // 秒
    'q+': Math.floor((dateObj.getMonth() + 3) / 3), // 季度
    'S': dateObj.getMilliseconds() // 毫秒
  }
  if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (dateObj.getFullYear() + '').substr(4 - RegExp.$1.length))
  for (var k in o) {
    if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
  }
  return fmt
}

/**
 *
 *
 * @export
 * @param {any} date
 */
export function formatMoney (v) {
  // if (v === '') {
  //   v = '0.00'
  // } else if (v === '0') {
  //   v = '0.00'
  // } else if (v === '0.') {
  //   v = '0.00'
  // } else if (/^0+\d+\.?\d*.*$/.test(v)) {
  //   v = v.replace(/^0+(\d+\.?\d*).*$/, '$1')
  //   // v = inp.getRightPriceFormat(v).val
  // } else if (/^0\.\d$/.test(v)) {
  //   v = v + '0'
  // } else if (!/^\d+\.\d{2}$/.test(v)) {
  //   if (/^\d+\.\d{2}.+/.test(v)) {
  //     v = v.replace(/^(\d+\.\d{2}).*$/, '$1')
  //   } else if (/^\d+$/.test(v)) {
  //     v = v + '.00'
  //   } else if (/^\d+\.$/.test(v)) {
  //     v = v + '00'
  //   } else if (/^\d+\.\d$/.test(v)) {
  //     v = v + '0'
  //   } else if (/^[^\d]+\d+\.?\d*$/.test(v)) {
  //     v = v.replace(/^[^\d]+(\d+\.?\d*)$/, '$1')
  //   } else if (/\d+/.test(v)) {
  //     v = v.replace(/^[^\d]*(\d+\.?\d*).*$/, '$1')
  //     // ty = false;
  //   } else if (/^0+\d+\.?\d*$/.test(v)) {
  //     v = v.replace(/^0+(\d+\.?\d*)$/, '$1')
  //     // ty = false;
  //   } else {
  //     v = '0.00'
  //   }
  // }
  // return v
  if (v) {
    return (+v).toFixed(2)
  } else {
    return '0.00'
  }
}

/**
 *格式化单据状态
 */
export function Fstate (state, key) {
  let obj = {
    '5': {
      'name': '全部',
      'color': '#f0a523'
    },
    '10': {
      'name': '制单',
      'color': '#f0a523'
    },
    '20': {
      'name': '暂存',
      'color': '#f0a523'
    },
    '25': {
      'name': '已提交未发k2',
      'color': '#f0a523'
    },
    '27': {
      'name': '已废弃',
      'color': '#ccc'
    },
    '28': {
      'name': '已作废',
      'color': '#ccc'
    },
    '30': {
      'name': '审核中',
      'color': '#f0a523'
    },
    '40': {
      'name': '审核未通过',
      'color': '#f0a523'
    },
    '43': {
      'name': '已生成付款格式',
      'color': '#5ac83c'
    },
    '45': {
      'name': '已生成凭证',
      'color': '#5ac83c'
    },
    '46': {
      'name': '已生成K/3凭证',
      'color': '#5ac83c'
    },
    '47': {
      'name': '已生成凭证未付款',
      'color': '#f0a523'
    },
    '50': {
      'name': '取消',
      'color': '#f0a523'
    },
    '60': {
      'name': '审核通过',
      'color': '#5ac83c'
    },
    '65': {
      'name': '等待付款',
      'color': '#f0a523'
    },
    '66': {
      'name': '付款单已付款',
      'color': '#5ac83c'
    },
    '70': {
      'name': '已付款',
      'color': '#5ac83c'
    },
    '80': {
      'name': '已关闭',
      'color': '#ccc'
    },
    '90': {
      'name': '已生成报销单',
      'color': '#5ac83c'
    },
    '110': {
      'name': '已挂账',
      'color': '#5ac83c'
    },
    '115': {
      'name': '已生成挂账凭证',
      'color': '#5ac83c'
    },
    '120': {
      'name': '已生成结算单',
      'color': '#5ac83c'
    },
    '125': {
      'name': '付款中',
      'color': '#f0a523'
    },
    '130': {
      'name': '收款中',
      'color': '#f0a523'
    },
    '135': {
      'name': '已收款',
      'color': '#5ac83c'
    },
    '140': {
      'name': '已生成收款单',
      'color': '#5ac83c'
    },
    '145': {
      'name': '业务审批中',
      'color': '#f0a523'
    },
    '150': {
      'name': '业务审批通过',
      'color': '#5ac83c'
    },
    '155': {
      'name': '已确认',
      'color': '#5ac83c'
    },
    '160': {
      'name': '已提交',
      'color': '#5ac83c'
    },
    '165': {
      'name': '结算中',
      'color': '#f0a523'
    },
    '170': {
      'name': '已结算',
      'color': '#5ac83c'
    },
    '175': {
      'name': '已归档',
      'color': '#5ac83c'
    },
    '180': {
      'name': '调整中',
      'color': '#f0a523'
    },
    '185': {
      'name': '合同执行完毕',
      'color': '#5ac83c'
    },
    '190': {
      'name': '审批拒绝',
      'color': '#f0a523'
    },
    '195': {
      'name': '已反结算',
      'color': '#5ac83c'
    },
    '200': {
      'name': '已关联付款单',
      'color': '#5ac83c'
    },
    '205': {
      'name': '已打回',
      'color': '#f0a523'
    },
    '210': {
      'name': '已退票',
      'color': '#f0a523'
    },
    '215': {
      'name': '已提交',
      'color': '#5ac83c'
    },
    '220': {
      'name': '已审核',
      'color': '#5ac83c'
    },
    '225': {
      'name': '归档中',
      'color': '#f0a523'
    },
    '300': {
      'name': '未付款',
      'color': '#f0a523'
    },
    '305': {
      'name': '共享打回',
      'color': '#f0a523'
    },
    '000': {
      'name': '未知状态',
      'color': ''
    }
  }
  let State = state ? state + '' : '000'
  let Key = key || 'name'
  return obj[State][Key]
}

export default {
  formatDate,
  formatMoney,
  Fstate
}
